Many conventional audio systems process and compare audio signals. For example, conventional karaoke systems compare an audio signal representing a singer's voice to an audio signal representing an original song. This allows the karaoke systems to identify how well a singer sings the original song. As another example, language-learning software typically compares a signal representing a speaker's voice to a signal representing the proper pronunciation of words. This allows the language-learning software to identify how well the speaker pronounces words in a particular language.
Some of these audio systems use simplistic algorithms for comparing audio signals. For example, some audio systems simply compare the frame energies of the audio signals. In effect, these systems compare the loudness of the audio signals, which does not provide an accurate comparison of the actual contents of the signals. Other audio systems use overly complex algorithms, such as fast Fourier transformation techniques. These techniques are often computationally intensive and do not compare the actual contents of the audio signals.